package timbap.visualizer.api.context.messaging;

/**
 * The <code>TimeCodePublisher</code> interface is the base
 * interface for all classes publishing a time code with an
 * interpolated value.
 *
 * @author  Andreas Pabst
 * @see timbap.visualizer.api.model.TimeCode
 * @see timbap.visualizer.api.context.messaging.TimeCodePublisher
 */
public interface InterpolatingTimeCodePublisher extends TimeCodePublisher {

    /**
     * configures the time code interpolation
     *
     * @param pItemCount        number of items displayed
     * @param pPlaylistSize     size of the playlist loaded
     * @param pVelocityFactor   velocity factor as specified in the cfg
     */
    void setTimeCodeInterpolation(int pItemCount, int pPlaylistSize, float pVelocityFactor);
    
}
